Jump to content

Extension:WikiLove

From mediawiki.org
This page is a translated version of the page Extension:WikiLove and the translation is 100% complete.
Příručka k rozšířením MediaWiki
WikiLove
Stav rozšíření: stabilní
Implementace Uživatelské rozhraní
Popis Přidává rozhraní posuvníku do zobrazení rozdílů, které umožňuje snadný přechod mezi revizemi
Autoři Ryan Kaldari, Jan Paul Posma, Brandon Harris (vývoj)
Nejnovější verze 1.3.1
Zásady kompatibility Vydání snímků současně s MediaWiki. Hlavní vývojová větev není zpětně kompatibilní.
MediaWiki 1.27+
Změny v databázi Ano
Tabulky wikilove_log
Licence Licence MIT
Stáhnout

  • $wgWikiLoveGlobal
  • $wgWikiLoveTabIcon
  • $wgWikiLoveLogging
Přeložte rozšíření WikiLove, používá-li lokalizaci z translatewiki.net
Problémy Otevřené úkoly · Nahlásit chybu

WikiLove je rozšíření navržené k podpoře šíření WikiLove v rámci Wikipedie a případně dalších wikin. Konkrétně to usnadňuje přidávání ocenění, dárků a pozvánek na diskusní stránky uživatelů kliknutím na několik tlačítek.

Instalace

  • Stáhněte soubor/y a vložte je do adresáře pojmenovaného WikiLove ve vaší složce extensions/.
    Vývojáři a přispěvatelé kódu by si místo toho měli nainstalovat rozšíření from Git pomocí:
    cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/WikiLove
    
  • Na konec vašeho souboru LocalSettings.php přidejte následující kód:
    wfLoadExtension( 'WikiLove' );
    
  • Spusťte aktualizační skript, který automaticky provede všechny nezbytné databázové změny, jaké rozšíření vyžaduje.
  • Yes Dokončeno – Přejděte na stránku Special:Version vaší wiki a zkontrolujte, zda bylo rozšíření úspěšně nainstalováno.

Pokud chcete používat vestavěná ocenění, musíte mít povoleno InstantCommons. Chcete-li jej povolit, přidejte k LocalSettings.php toto:

$wgUseInstantCommons = true;

Rozšíření by nyní mělo být aktivní. Přejděte v nastavení na kartu úprav a zapněte rozhraní.

Tyto možnosti konfigurace můžete také použít ve svém LocalSettings.php:

  • $wgWikiLoveGlobal - povolit rozšíření pro všechny uživatele a odebrat uživatelské preference (výchozí: false)
    • Poznámka: Toto nastavení můžete také povolit ve výchozím nastavení, ale uživatelům stále dát možnost jej vypnout (opt-out (odhlásit se)) pomocí:
$wgDefaultUserOptions['wikilove-enabled'] = 1;
  • $wgWikiLoveTabIcon - použít ikonu pro skiny, které je podporují (např. Vector) (výchozí: true)
  • $wgWikiLoveLogging - povolit zaznamenávání darů WikiLove (výchozí: false); toto automaticky vytvoří databázovou tabulku wikilove_log, kterou můžete použít pro statistické dotazy


Použití

Chcete-li povolit WikiLove ve svém účtu, přejděte v nastavení na kartu úprav a v části "Labs features" (funkce Laboratoře) (nebo v některých verzích v části "Obecné možnosti") zapněte WikiLove. V září 2022 se zobrazuje jako "Enable showing appreciation for other users with the WikiLove tab" (povolit projevování uznání ostatním uživatelům pomocí karty WikiLove).

Chcete-li používat WikiLove, přejděte na diskusní stránku uživatele (ne sebe) a klikněte na ikonu srdce. Postupujte podle pokynů.

Vlastní nastavení

Chcete-li se dozvědět, jak přizpůsobit WikiLove pro jednotlivého editora (nikoli pro celou wiki), podívejte se do uživatelské dokumentace.

Možnosti pro vaši wiki si můžete přizpůsobit úpravou stránky MediaWiki:WikiLove.js. Zde můžete změnit konfiguraci stejným způsobem jako u vestavěných možností: defaultOptions.js. Zde je několik příkladů vlastních konfigurací WikiLove:

Možnosti v horní části defaultOptions.js jsou pro vaše pohodlí výchozí nastavení. Pokud u typů nebo podtypů vynecháte určité vlastnosti, budou použity tyto výchozí hodnoty (defaultText, defaultBackgroundColor, defaultBorderColor, defaultImageSize, defaultImage). Pak je tu seznam typů. Každý typ může mít vlastnosti name (povinné) a icon (volitelné). Typ může mít seznam podtypů, nebo ne, v takovém případě budou další vlastnosti přiřazeny samotnému typu.

Pokud má typ podtypy, jsou uvedeny v seznamu objektů subtypes. Volitelně může mít typ také vlastnost select, která určuje popisek nad rozbalovací nabídkou. Každý podtyp může mít následující vlastnosti:

  • option – jméno v rozbalovací nabídce
  • descr – popis podtypu
  • header – záhlaví přidávané zprávy, tj. část, která bude mezi == ... ==
  • title – název okna zprávy
  • text – text okna se zprávou (podrobnosti viz níže)
  • image – obrázek okna se zprávou
  • gallery – galerie pro výběr obrázku (podrobnosti viz níže)
  • fields – pole polí, která může uživatel upravovat. Může obsahovat tyto hodnoty: header, title, image, message
  • imageSize – velikost obrázku (např. 100px)
  • backgroundColor – barva pozadí (libovolná platná barva CSS, např. #fdffe7 nebo žlutá)
  • borderColor – barva okraje (stejná)

Pokud se nepoužijí podtypy, měly by být tyto možnosti (kromě prvních dvou) přidány k samotnému typu.

V polích text a email (stejně jako v dříve zmíněném defaultText) můžete použít několik kódů, které budou automaticky nahrazeny:

  • $1 – uživatelská zpráva
  • $2 – název
  • $3 – název obrázku
  • $4 – velikost obrázku
  • $5 – barva pozadí
  • $6 – barva okraje
  • $7 – uživatelské jméno příjemce

Abyste uživateli usnadnili výběr obrázků, můžete vytvořit galerii s předdefinovanými obrázky. K tomu vytvořte vlastnost gallery, která má následující vlastnosti:

  • imageList – pole názvů obrázků
  • width – maximální šířka obrázků v galerii (v pixelech); pro 3 obrázky se doporučuje 145
  • height – maximální výška obrázků v galerii (v pixelech)
  • number – počet náhodných obrázků k zobrazení (volitelné). Pokud je vynechán, zobrazí se všechny obrázky

Můžete použít obrázky z Wikimedia Commons, stejně jako u výchozích ocenění. Jak již bylo zmíněno, musíte pro to povolit InstantCommons.

Ujistěte se, že stránku s kódem MediaWiki:WikiLove.js začínáte kódem //<nowiki> a končíte kódem //</nowiki>, aby se kód Wikitextu (například podpisy nebo kód {{subst:foo}}) v JavaScriptu nerozvinul.

Odebrání typů WikiLove

Pokud chcete odstranit pouze některé výchozí typy WikiLove, můžete je smazat z objektu $.wikiLoveOptions. Zde je několik příkladů, které můžete použít na stránce MediaWiki:WikiLove.js vaší wiki:

// Odstraňte náhodné skutky laskavosti Barnstar ze seznamu barnstars
delete $.wikiLoveOptions.types.barnstar.subtypes.kindness;
// Vymažte cheeseburger ze seznamu jídel a pití.
delete $.wikiLoveOptions.types.food.subtypes.cheeseburger;
// Úplně smažte rozhraní kitten
delete $.wikiLoveOptions.types.kitten;

Přidávání nových typů WikiLove

Zde je příklad přidání nového typu puppy:

$.wikiLoveOptions.types.puppy = {
	name: 'Puppy', // název typu (zobrazí se v nabídce typů)
	fields: [ 'header', 'message' ], // pole, která se mají ve formuláři požadovat
	header: 'You get a puppy!', // záhlaví, které se zobrazí v horní části příspěvku na diskusní stránce (volitelné)
	text: '[[File:2009-08-16 Puppy at Duke East 1.jpg|left|150px]]\n$1\n\n~~'+'~~<br style="clear: both;"/>', // $1 je vlastní zpráva
	icon: 'http://www.mysite.com/images/wikilove-icon-puppy.png' // se zobrazí v nabídce typů
};

Zde je příklad přidání nového typu hedgehog s galerií obrázků, ze kterých si můžete vybrat:

$.wikiLoveOptions.types.hedgehog = {
	name: 'Hedgehogs', // název typu (zobrazí se v nabídce typů)
	fields: [ 'header', 'message' ], // pole, která se mají ve formuláři požadovat
	header: 'A hedgehog for you!', // záhlaví, které se zobrazí v horní části příspěvku na diskusní stránce (volitelné)
	text: '[[$3|left|150px]]\n$1\n\n~~'+'~~\n<br style="clear: both"/>', // $3 je název souboru s obrázkem, $1 je textová zpráva.
	gallery: {
		imageList: [ 'Hedgehog1.jpg', 'Orizo5.jpg', 'Erinaceus europaeus LC0119.jpg' ],
		width: 145, // maximální šířka obrázků v galerii
		height: 150, // maximální výška obrázků v galerii
		number: 3 // počet náhodných obrázků k zobrazení (volitelné)
	},
	icon: 'http://www.mysite.com/images/wikilove-icon-hedgehog.png' // se zobrazí v nabídce typů

Zde je příklad přidání nového podtypu falafelu pod existující typ jídla:

$.wikiLoveOptions.types.food.subtypes.falafel = {
    fields: [ 'header', 'message' ], // pole, která se mají ve formuláři požadovat
    option: 'Falafel', // možnost uvedená ve výběrovém seznamu
    descr: 'Falafel is a popular Middle Eastern street food made from ground chickpeas or fava beans and topped with salads, vegetables, and sauces. It is typically served in a pocket of pita bread.',
    header: 'Some falafel for you!', // záhlaví, které se zobrazí v horní části příspěvku na diskusní stránce (volitelné)
    image: 'Falafel award.png', // obrázek k položce
    imageSize: '120px' // velikost zobrazeného obrázku (volitelné)
};


Závady a problémy

Pokud diskusní stránka, kterou se pokoušíte upravit, obsahuje slovo, které bylo následně přidáno do Special:SpamRegexu, pokusy o přidání barnstar nebo jiného ocenění pomocí rozhraní selžou. Je to proto, že stránku nelze upravovat, protože obsahuje zakázané slovo. Odstranění slova ze stránky nebo z filtru problém vyřeší.

Dokumentace API

WikiLove používá speciální wikilove API ke zveřejňování zpráv na diskusních stránkách uživatelů. API je v podstatě jen tenký obal kolem některých existujících API. Pokud je diskusní stránka uživatele stránkou Wikitextu, používá API edit . Pokud se jedná o stránku Flow, používá rozhraní flow API. A pokud se jedná o stránku LiquidThreads, používá API threadaction .

Pro volání API použijte parametr action=wikilove.

Parametry:

title
Název uživatele nebo diskusní stránky uživatele, na kterou se má WikiLove odeslat (povinné)
text
Nezpracovaný wikitext k přidání do nové sekce (povinné)
message
Skutečná zpráva, kterou uživatel zadal, pro účely protokolování (nezahrnuje obrázek a formátování HTML)
token
Uprava tokenu. Jeden z nich můžete získat pomocí prop=info (povinné).
subject
Hlavička předmětu nové sekce stránky (povinné)
type
Typ WikiLove (pro statistiky). Odpovídá typu vybranému v levém menu a volitelně podtypu za ním (např. "barnstar-normal" nebo "kitten") (volitelné)
email
Obsah volitelné e-mailové zprávy, která se má odeslat uživateli

Příklad:

 api.php?action=wikilove&title=User:Dummy&text=Love&subject=Hi&token=%2B\

Návrh pro verzi 1.0

Dialog WikiLove při prvním načtení
Dialogové okno WikiLove po výběru kategorie ocenění
Dialogové okno WikiLove po vyplnění údajů pro ocenění
Dialog WikiLove v režimu náhledu
Stav hover pro podokno výběru ocenění

Tento dokument popisuje návrh a chování systému pozitivní zpětné vazby WikiLove pro Wikipedii. Tento nástroj je navržen tak, aby podporoval šíření WikiLove v rámci Wikipedie. Konkrétně umožňuje přidávání ocenění a dárků na diskusní stránky uživatelů tak, aby stačilo kliknout na několik tlačítek.

Zdůvodnění

Wikipedie jako komunita má několik mechanismů pro vyjádření nespokojenosti nebo pro poskytování negativní zpětné vazby svým uživatelům. Některé gadgety, jako například Twinkle, jsou silně navrženy tak, aby varovaly, blokovaly a vracely změny.

Vzhledem k tomu, že Wikipedie potřebuje pozitivní zpětnou vazbu, zejména pro nové uživatele, je žádoucí systém navržený speciálně a pouze na pozitivní zpětnou vazbu.

Použití rozmarného stylu

Systém má ve svém designu výrazný "rozmarný" styl. To je záměrné a má to více odpovídat očekáváním uživatelů moderních webových stránek. Celý princip "ocenění" je navíc sám o sobě rozmarný (např. sušenky a koťata).

Tento styl může být na základě zpětné vazby od uživatelů opuštěn.

Poznámka k názvosloví

Některé typy šablon, například uvítací šablony, technicky vzato nejsou "ocenění".

V tomto dokumentu se termín ocenění používá zaměnitelně s termínem šablona. Vzhledem k tomu, že systém je zaměřen na uživatele a není určen přímo pro pokročilé uživatele, byla použita nomenklatura zaměřená na uživatele.

Proces

Chování dialogu

Dialog WikiLove je modální. Jeho spuštěním (odkudkoli) se zobrazí přes text stránky. Lze jej zavřít jednoduchým kliknutím.

Systém WikiLove vyžaduje JavaScript.

Uživateli bude nejprve zobrazena krátká sada snadno srozumitelných pokynů a seznam dostupných kategorií ocenění.

Po výběru typu ocenění se uživateli zobrazí sekce, ve které může k ocenění přidat podrobnosti (například krátkou zprávu).

Upozorňujeme, že některé kategorie ocenění (např. "cookie") nebudou mít sekundární krok vytvoření ocenění a přejdou přímo do "Náhledu".

Uživatel poté klikne na tlačítko "Náhled", které načte náhled ocenění, aby si mohl prohlédnout, jak bude vypadat na své diskusní stránce.

Jakmile je uživatel spokojen, může kliknout na tlačítko "Odeslat WikiLove". V tomto okamžiku budou spuštěna AJAX volání do serverového API a šablona bude přidána na diskusní stránku uživatele.

Oznámení e-mailem

Protože většina nových uživatelů si pravděpodobně neuvědomuje, že vůbec existují diskusní stránky, nemusí si být vědomi toho, že obdrželi daný WikiLove.

Server tedy zašle e-mail příjemci (pokud poskytl e-mailovou adresu) s informací o WikiLove a krátkými pokyny, jak se dostat na jeho diskusní stránku.

Konfigurace webu

Zpočátku je třeba ocenění, která lze udělit, definovat v samotném gadgetu. Pokud je tento systém povýšen na rozšíření, pak by názvy ocenění a šablony měly být definovány v souboru LocalSettings.php webu.

Alternativně lze tyto informace uložit do databáze. Pro přidání nebo odebrání dostupných ocenění a kategorií ocenění by byla vyžadována administrační konzole.

Ukládání dat

Pro účely shromažďování statistik se pokaždé, když je uděleno ocenění, data sledují a ukládají do databáze. Stačí jednoduchá tabulka, do které se zapisují údaje prostřednictvím API:

  • Od uživatele - uživatelské jméno osoby, která ocenění uděluje
  • Uživateli - uživatelské jméno osoby, která ocenění přijímá
  • Šablona - název udělené šablony
  • Časové razítko - datum udělení ocenění
  • Text ocenění - volitelné. Toto by byl text ocenění

Special:WikiLoveStatistics

V budoucnu by mělo být možné vytvořit stránku Special:WikiLoveStatistics, která by umožnila sledovat, jak často se systém používá, a také by poskytla informace o tom, kdo dává nejvíce lásky, jaká ocenění jsou nejoblíbenější a kdo jich nejvíce získává.

To pomůže poskytnout globální přehled o zdraví komunity. Čím více ocenění bude uděleno, tím zdravější bude komunita.

Úvahy o budoucnosti

Druhá fáze tohoto projektu by mohla vést k dynamickému přidávání odkazů "Odeslat WikiLove" k podpisům na diskusních stránkách. To by umožnilo mnohem snadnější odesílání WikiLove přímo z jiných diskusních stránek.

Související odkazy